1. Field of the Invention
This invention generally relates to the field of automated circuit configuration tools, and more particularly relates to the use of an automated method and system to configure profiles for circuit monitoring hardware and to ensure that the configured profile satisfies the limitations of the circuit monitoring hardware.
2. Description of Related Art
Complex electronic circuits, especially digital processing circuits, sometimes incorporate modules that are able to monitor events that occur within the circuit. These circuits often allow configuration of some or all of these event monitors to monitor one of a number of events that occur within the circuit. Complex microprocessor circuits are an example of circuits which incorporate a number of such event monitors. Examples of such monitors include counters which count intra-circuit events. Examples of events that are monitored in a complex microprocessor include cache memory misses, floating point operations, fixed point math operations, program branching and events associated with processing pipeline operations. Incorporating event monitors into these circuits provides an efficient method of monitoring the performance of the circuit under a variety of conditions.
Complex processing circuits often have a large number of events which may be monitored. These processing circuits often incorporate fewer monitors than there are events to be monitored but allow configuration of the monitors to allow selection of the events which are to be monitored. This architecture requires a selection of the subset of available events to monitor. The complex processing circuit may also limit the electrical connection of some events to only a subset of monitors. This results in further restrictions on the monitor configurations that can be chosen. In selecting events to be monitored, a designer must manually remember which events can be monitored by each monitor and limit his or her selections accordingly.
In order to define which events in a circuit are to be monitored, the designer must match each monitor to one of the events occurring within the circuit. This requires circuit designer to manually define which event is to be monitored by which monitor. When determining these event-monitor pairs, the designer must also manually remember which events have already been configured to be monitored so that multiple monitors are not wasted by monitoring the same event. This process becomes significantly difficult as the number of monitors and events increases within a circuit.
The manual configuration of the event-monitor pairs for a complex circuit is therefore tedious and requires a skilled designer to spend time to ensure that a specified configuration will work. Therefore a need exists for a simplified technique to specify event-monitor associations in circuits incorporating monitors of intra-circuit events.